package br.com.felipe.agendamento.entity;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.xml.bind.annotation.XmlRootElement;

@Entity
@Table(name="paciente")
@XmlRootElement
public class PacienteDto implements Serializable {

	//TODO REVER O CONCEITO DE PLANO NO DTO PACIENTE
	@Transient
	private static final long serialVersionUID = -7177348145382482985L;
	
	@Id @GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id_paciente")
	private Integer idPaciente;
	
	@OneToOne(cascade = CascadeType.ALL)
	@JoinColumn(name="fk_pessoa")
	private PessoaDto pessoaDto;
	
	@OneToOne(cascade = CascadeType.PERSIST)
	@JoinColumn(name="fk_plano_saude")
	private PlanoSaudeDto planoSaudeDto;
	
	@Column(name="cobertura")
	private String cobertura;
	
	@Column(name="plano")
	private String plano;
	
	@Column(name="carteira")
	private String carteira;

	public Integer getIdPaciente() {
		return idPaciente;
	}

	public void setIdPaciente(Integer idPaciente) {
		this.idPaciente = idPaciente;
	}

	public PessoaDto getPessoaDto() {
		return pessoaDto;
	}

	public void setPessoaDto(PessoaDto pessoaDto) {
		this.pessoaDto = pessoaDto;
	}

	public PlanoSaudeDto getPlanoSaudeDto() {
		return planoSaudeDto;
	}

	public void setPlanoSaudeDto(PlanoSaudeDto planoSaudeDto) {
		this.planoSaudeDto = planoSaudeDto;
	}

	public String getCobertura() {
		return cobertura;
	}

	public void setCobertura(String cobertura) {
		this.cobertura = cobertura;
	}

	public String getPlano() {
		return plano;
	}

	public void setPlano(String plano) {
		this.plano = plano;
	}

	public String getCarteira() {
		return carteira;
	}

	public void setCarteira(String carteira) {
		this.carteira = carteira;
	}

}
